Skip to content

Add missing ops for ResNet-50#16

Merged
theHamsta merged 6 commits into
rustnn:mainfrom
mklimenko-nv:private/mklimenko/rn50_changes
May 22, 2026
Merged

Add missing ops for ResNet-50#16
theHamsta merged 6 commits into
rustnn:mainfrom
mklimenko-nv:private/mklimenko/rn50_changes

Conversation

@mklimenko-nv

@mklimenko-nv mklimenko-nv commented May 19, 2026

Copy link
Copy Markdown
Contributor

Currently, webnn-graph is mostly focused on LLMs, leaving a gap in convolutional neural networks and diffusion models.
This PR is a first step to close this gap by adding the missing op support:

  • Convolution, ConvTranspose
  • Poolings (MaxPool, AveragePool, GlobalMaxPool, GlobalAveragePool)
  • Flatten

Expands the sanitize logic for digit-leading ONNX names ("495" -> "_495").

Added a ResNet-50 conversion test that downloads the model from the ONNX model zoo, converts it and checks for the operations count to match. It also caches the model for subsequent local and CI runs.

@mklimenko-nv
mklimenko-nv marked this pull request as ready for review May 20, 2026 08:29
@theHamsta
theHamsta merged commit 30db3f3 into rustnn:main May 22, 2026
3 checks passed
mtavenrath added a commit to rustnn/rustnn that referenced this pull request Jun 23, 2026
Run an E2E model via rustnn. Currently depends on
rustnn/webnn-graph#16 for the ONNX model
conversion to be merged.

After fixes related to marking all the nodes as outputs, perfomance of
rustnn with TensorRT-RTX backend is similar to native execution.


To be added:
- [x] Full E2E run from ONNX
- [x] Performance comparison against TensorRT-RTX
- [ ] FP16 execution

Co-authored-by: Markus Tavenrath <mtavenrath@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants